<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>es6默认值参数和可变参数</title>
</head>
<body>
<script>
    // 1.promise异步编程 promise将一个异步操作封装成一个对象，可以方便的进行链式调用，并且可以处理异常。 promise有三种状态：pending（进行中）、resolve（已成功）、rejected（已失败）。
    // let promise = new Promise((resolve, reject) => {
    //     let res = {
    //         code: 201,
    //         data: {
    //             name: '张三',
    //             age: 20
    //         }
    //     }
    //     // 异步操作
    //     setTimeout(()=>{
    //           if(res.code === 200){
    //               resolve(res.data);
    //           }else{
    //               reject(new Error('请求失败'))
    //           }
    //
    //         }
    //    , 1000);
    // })
    // promise.then((value) => {
    //     console.log(value)
    // }).catch((err) => {
    //     console.log(err)
    // })
    // 一般用法

    let setTimeoutPromise = function(time){
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve("hello world success")
            }, time)
        })
    }
    setTimeoutPromise(1000).then((value) => {
        console.log(value)
    }).catch((error) => {
        console.log(error)
    })

</script>
</body>
</html>